/**
* 
* 子弹飞行状态，碰撞检测由外部去做
* 超出边界则自己切换到EmptyState,边界是自己的出生地为原点，半径是某常数的圆,
*  因为在不停的往前飞，所以是一定可以的
*  
*  如果需要子弹自己变大或者自身旋转之类的，就直接用mc去做动画就可以了
*  
*  //注意这些速度和角度之类的都是在xoz平面上的
*/
package kgame5.kgu.shotpool {

public class ShotFlyState{
//	//炸弹状态编号
//	static var FSMSTATEID_SHOT_FLY:Number=1;
//	
//	//__________________Propetty__________________
//	//发射这个子弹的fsm的fsmID,这个是为了回传的时候做攻击判断用的
//	private var shooterFsmID:Number;
//	
//	//注意这些速度和角度之类的都是在xoz平面上的
//	private var 
//		//圆心
//		centerX:Number,
//		centerY:Number,
//		centerZ:Number,
//		
//		//xoz平面速度
//		radius:Number,//初始的半径
//		speed:Number,
//		acc:Number,
//		
//		//xoz平面角度情况
//		angle:Number,//初始的角度
//		angleSpeed:Number,
//		angleAcc:Number,
//		
//		life:Number;//存活时间
//	
//	
//	//______________________Method___________________
//	public function ShotFlyState(){
//		super(FSMSTATEID_SHOT_FLY);
//	}
//	
//	//进入状态
//	public function enter(info:Object):void{
//		T.p("进入状态:"
//		//+info.x+" "+info.y+" "+info.z+" "+info.vx+" "+info.vy+" "+info.vz+" "+info.ax+" "+info.ay+" "+info.az
//		);
//		shooterFsmID=info.shooterFsmID,
//		
//		centerX=info.centerX;
//		centerY=info.centerY;
//		centerZ=info.centerZ;
//		
//		radius=info.radius;
//		speed=info.speed;
//		acc=info.acc;
//		
//		angle=info.angle;
//		angleSpeed=info.angleSpeed;
//		angleAcc=info.angleAcc;
//		
//		life=info.life;
//		
//		//--
//		md.setVisible(true);
//	}
//	//执行状态
//	public function update():void{
//		
//		//1,设置位置
//		speed+=acc;
//		radius+=speed;
//		
//		angleSpeed+=angleAcc;
//		angle+=angleSpeed;
//		
//		var rad:Number=MathDG.DTR*angle;
//		var x:Number=radius*Math.sin(rad);
//		var z:Number=radius*Math.cos(rad);
//		
//		md.v3d_p.fill(centerX+x,centerY,centerZ+z);
//		
//		life--;
//		if(life<0){
//			master.SwitchState(-1,null);
//		}
//	}
//	//退出状态
//	public function exit():void{
//		T.p("退出炸弹飞行动作");
//		//--自己消失
//		md.setVisible(false);
//	}
}
}